﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ComLib.ComType
{

    [Serializable]
    public struct Package
    {
        public string strPhotoPath;
        public string strDestPath;
        public string strServiceNumber;
    }

    /// <summary>
    /// 口岸拍照入口方式
    /// </summary>
    public enum VisaEntryType : int
    {
        None = 0,                                    // 不需要任何验证      
        ReadPassPort = 1,                        // 刷读护照
        InputPassPortNumber = 2,            // 输入护照号码
        ReadOrInput = 3,                        // 读护照或者输入护照号码
    }

    /// <summary>
    /// 拍照状态
    /// </summary>
    public enum PhotographStatus : int
    {     
        Ready = 0,                                  // 准备就绪
        Starting = 1,                               // 正在启动
        StartingFailed = 2,                      // 启动失败
        Reconnecting = 3,                       // 正在重连
        ReconnectCompleted = 4,             // 重连完成
        ReconnectFailed = 5,                    // 重连失败
        OnGoing = 6,                                // 正在拍照中
        Abort = 7,                                     // 拍照流程意外被中止
        Completed = 8,                            // 拍照流程正常完成
        Ending = 9,                                  // 拍照结束
    }

    /// <summary>
    /// 照片存储格式
    /// </summary>
    public enum ImageFormats : int
    {     
        Bmp = 0,
        Png = 1,
        Jpeg = 2,      
    }

    public enum QCMode : int
    {
        Optional = 0,
        Mandatory = 1
    }

    public enum EncryptMode : int
    {
        Hardware = 0,
        Software = 1
    }

    /// <summary>
    /// 文件拷贝选项
    /// </summary>
    public enum CopyOptions : int
    {     
        Outcome = 0,
        Orginal = 1,
        Both = 2,
    }

    /// <summary>
    /// 文件拷贝选项
    /// </summary>
    public enum DirectoryFormat : int
    {
        None = 0,
        EveryDay = 1,
        EveryMonth = 2,
    }

    public enum LogTag : uint
    {
        Begin = 0,
        End
    }

    // 系统服务类型
    public enum ServiceTypes : uint
    {
        ExitAndEntry = 0,                           // 出入境
        IDCard = 1,                                 // 身份证
        PortVisa = 2,                               // 口岸签证
        Optional = 3,                               // 可选
        SocialSecurity = 4,                         // 社保
        PassportAndVisa = 5,                    // 出入境证件和外国人证件
    }

    /// <summary>
    /// 制证用途
    /// </summary>
    public enum ApplyTo : uint
    {
        ExitAndEntry = 0,               // 出入境
        IDCard = 1,                     // 身份证
        PortVisa = 2,                   // 口岸签证
        SocialSecurity = 3,             // 社保
        DrivingLicence = 4,             // 驾驶证
    }

    /// <summary>
    /// 拍照人群类型
    /// </summary>
    public enum Peoples : int
    {
        Mainlander = 0,             // 大陆居民
        Taiwanese = 1,              // 台湾人
        Foreigner = 2,               // 外国人
    }

    /// <summary>
    /// 消息类型
    /// </summary>
    public enum MSGType : int
    {
        MSG_BUSY = 0x0405,		    //繁忙
        MSG_IDLE,                           //空闲
        MSG_TRANSFER,                   //传输
    }

    public enum AdjustParams : uint
    {
        //自动调整选项
        CROP_IMAGE = 0x00000001,		// 裁切
        CLEAN_BKCOLOR = 0x00000002,	    // 清理背景
        ADJUST_FACECOLOR = 0x00000004,      // 调整面部颜色
        CLEAN_HOTS = 0x00000008,		// 清理高光
        FORCE_CROP = 0x00010000,		// 强制剪裁（否则不够裁时自动调整会直接返回错误_FGE_IMAGECROPSCALELACK）
        DETECT_QUALITY = 0x000000016     //是否对自动调整图片进行质量检测
    };

    /// <summary>
    /// 连续拍照结果
    /// </summary>
    public enum PhotoTakenResult : int
    {
        Success = 0,                // 全部成功
        SomeFailed = 1,          // 有成功也有失败的
        Failed = 2,                  // 全部失败(检测不合格或者发生错误)
    }
}
